package yangsw87.basic;

public class J16_OOP_Q73 {

	public static void main(String[] args) {
		// 상속, 인터페이스, 기본클래스를 이용해서
		// Fan 상태를 출력하는 프로그램 작성
		
		// J16MotorFan f = new J16MotorFan(3, true, 10, "yellow");
		// J16MotorFan f = new J16MotorFan(J16FanService.FAST, true, 10, "yellow");
		// J16MotorFan f = new J16MotorFan(J16Fan.FAST, true, 10, "yellow");
		J16MotorFan f = new J16MotorFan(J16MotorFan.FAST, true, 10, "yellow");
		
		System.out.println(f.toString());

	} // main

} // class

interface J16FanService {
	int SLOW = 1;
	int MEDIUM = 2;
	int FAST =3;
}

class J16Fan implements J16FanService{
//	private final int SLOW = 1;
//	private final int MEDIUM = 2;	
//	private final int FAST =3;
//  상수 설정은 인터페이스로 옮긴다!
	
	private int speed;
	private boolean on;
	private double radius;
	private String color;
	
	public J16Fan() {
		speed=SLOW;
		on=false;
		radius=5.0;
		color="blue";
	}
	
	public J16Fan(int speed, boolean on, double radius, String color) {
		this.speed = speed;
		this.on = on;
		this.radius = radius;
		this.color = color;
	}
	public int getSpeed() {
		return speed;
	}
	public void setSpeed(int speed) {
		this.speed = speed;
	}
	public boolean isOn() {
		return on;
	}
	public void setOn(boolean on) {
		this.on = on;
	}
	public double getRadius() {
		return radius;
	}
	public void setRadius(double radius) {
		this.radius = radius;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	@Override
	public String toString() {
		return "J16Fan [speed=" + speed + ", on=" + on + ", radius=" + radius
				+ ", color=" + color + "]";
	}
	
}

class J16MotorFan extends J16Fan {
	public J16MotorFan(int s, boolean o, double r, String c) {
		super(s,o,r,c);
		
	}
	void show(){
		
	}
	
		
}
 


